'''
1. time()：返回当前系统时间的时间戳（从1970年1月1日午夜开始经过的秒数）。
2. sleep(seconds)：使程序暂停执行指定秒数。
3. localtime()：获取当前系统时间并以struct_time类型返回。
4. strftime(format[, t])：将struct_time类型的时间转换为指定格式的字符串。
5. strptime(string, format)：将字符串类型的时间按照指定格式转换为struct_time类型。
6. mktime(t)：将struct_time类型的时间转换为时间戳。
7. ctime([seconds])：将时间戳转换为可读的时间格式字符串。如果没有传入参数，则返回当前时间的可读格式字符串。
8. asctime([t])：将struct_time类型的时间转换为可读的时间格式字符串。
9. gmtime([seconds])：将指定时间戳转换为UTC（世界标准时间）时间的struct_time类型。
10. localtime([seconds])：将指定时间戳转换为当地时间的struct_time类型。
11. timeit(stmt='pass', setup='pass', timer=<default timer>, number=1000000, globals=None)：测量执行一段Python代码的时间。
12. perf_counter()：返回当前进程的CPU时间（精度较高）。
13. monotonic()：返回当前进程的增量时间（即从某个不确定的时间点到现在所经过的时间）。
14. process_time()：返回当前进程的CPU时间（不包括睡眠时间，精度较高）。
15. clock()：返回CPU时钟时间，已废弃，建议使用perf_counter()或process_time()代替。
'''


# time() 用于获取当前时间（以秒为单位）自1970年1月1日午夜以来的秒数，也称为Unit时间戳
import time
import datetime
# print("当前 Unix 时间戳:", time.time())   # 当前 Unix 时间戳: 1680264608.3459747
# print("当前 Unix 时间戳:", int(time.time()))   # 当当前 Unix 时间戳: 1680264671

#  time.sleep(seconds)  用于暂停程序执行一定的时间（以秒为单位）
# print("start....")
# time.sleep(2)
# print("晚了两秒...")
# time.sleep(1.5)
# print("一秒半后...")

#  time.localtime([seconds])  用于获取当前本地时间的结构化信息，（以元组的形式返回年、月、日、时、分、秒等
# local_time = time.localtime()
# print(local_time)  # 年、月、日、时、分、秒、周几、一年的第几天和夏令时标志位
# time.struct_time(tm_year=2023, tm_mon=3, tm_mday=31, tm_hour=20, tm_min=35, tm_sec=42, tm_wday=4, tm_yday=90, tm_isdst=0)
# 获取指定时间的本地时间
# specifed_time = time.localtime(1612399200) # 以 Unix 时间戳形式表示为 1612399200
# print(specifed_time)
# time.struct_time(tm_year=2021, tm_mon=2, tm_mday=4, tm_hour=8, tm_min=40, tm_sec=0, tm_wday=3, tm_yday=35, tm_isdst=0)

# time.strftime(format[, t])  用于将日期时间格式化为指定的字符串
# 获取当前本地时间
# local_time = time.localtime()
# # 格式化输出  例如：2021-02-04 12:34:56
# str_time = time.strftime("%Y-%m-%d %H:%M:%S",local_time)
# print(str_time)  # 2023-03-31 20:41:19

# 使用指定的时间元组格式化
# specified_time = (2023, 3, 31, 12, 34, 56, 3, 35, 0)
# str_time = time.strftime("%Y-%m-%d %H:%M:%S", specified_time)
# print(str_time)  # 2023-03-31 12:34:56
# 获取当前UTC时间，并将其格式化为字符串
# utc_time = time.gmtime()
# str_time = time.strftime("%Y-%m-%d %H:%M:%S",utc_time)
# print(str_time)  # 2023-03-31 13:08:52

# datetime.datetime.strptime(date_string, format) 将字符串转换为datetime对象
# date_string = "2019-05-15"
# date_object = datetime.datetime.strptime(date_string, "%Y-%m-%d")
# print(date_object)

# mktime（） 用于将本地时间转换为从Epoch开始的秒数，
# local_time = time.localtime()
# epoch_seconds = time.mktime(local_time)
# print(epoch_seconds)    # 1680411797.0

# ctime([seconds]) 将时间戳转换为更容易读懂的时间日期形式
# timestamp = time.time()
# print("Timestamp:",timestamp)  # Timestamp: 1680412041.110987
# date_time = time.ctime(timestamp)
# print("DateTime:",date_time)  # DateTime: Sun Apr  2 13:07:21 2023


# asctime 将时间元组转换为格式化字符串，返回一个时间的字符串
# t = (2020, 6, 20, 23, 21, 5, 6, 172, 0)
# t_str = time.asctime(t)
# print(t_str)  # Sun Jun 20 23:21:05 2020

# gmtime（） 将一个时间戳转换为UTC时间下的时间元组，
timestamp = time.time()
utc_time = time.gmtime(timestamp)
print(utc_time)  # time.struct_time(tm_year=2023, tm_mon=4, tm_mday=2, tm_hour=13, tm_min=12, tm_sec=40, tm_wday=6, tm_yday=92, tm_isdst=0)
